High definition multimedia interfaces (HDMI) have been used to digitally transmit audio and video between different multimedia sources, such as DVD players, gaming consoles, and cable television set top boxes, to different display devices, such as televisions or video projectors. HDMI audio and video signals may be transmitted over three separate serial digital data streams on three channels. Each of these three data streams may include active video data frames, such as pixel data and the like.
Audio and video signal transmitted over HDMI may be received at a HDMI sink. An HDMI sink may include multiple input ports for receiving HDMI audio and video data from multiple sources. An HDMI television, for example, may have a HDMI sink with three or more HDMI input ports for receiving signals from different input sources, such as DVD players, cable television set top boxes, and video game consoles. A user can then select the HDMI input source that they want to watch on the television.
To prevent unauthorized copying of audio and video programs, some of the data on these channels may be encrypted. The data that may be encrypted could include some or all of the video and/or audio data on at least one of the three channels. The HDMI sink can decrypt encrypted data using a decryption engine and then convert it to a format compatible with the television set, for example, so the video can be seen and the audio can be heard.
Existing HDMI sinks tend to consume a relatively large amount of power. In order to conserve power, some existing HDMI sinks power down the input ports of non-selected input ports, leaving only one input port powered up. The input port left powered up may be the selected input port of a source currently being viewed on the television, for example. One of the problems with powering down non-selected input ports is that when a user wants to switch inputs, say from a DVD player to a cable set top box, the user may have to wait up to ten seconds or more for the decryption engine of the powered up port to authenticate and synchronize with the encryption engine of the newly selected input source.
Instead of powering down all channels in non-selected input ports, an attempt may be made to only power down a subset of data channels in each input port. However, when these powered down channels are subsequently powered up, invalid data may be produced due to timing mismatches between channels leading to a loss of authentication. The timing mismatches may occur because the circuits in HDMI sinks may include a number of serially disposed data processing elements to perform specific functions on the digital data in order to generate the actual video and audio outputted to the user. For example, one data processing element may perform a filtering function, while another performs a decoding function and a third performs an interleaving process. However, the time required by each of these elements to perform their respective functions may vary. For example, one of the data processing elements may require only one or two clock cycles to perform its function, while another may take five or more clock cycles to carry out its function on the data.
Since the digital data elements are arranged in series, the initial data produced by some of the data processing elements after being initially powered up may be invalid data. This invalid data may result from residual data left in the processing element from a previous power up cycle and may cause additional delays in producing data suitable for display on a video device. The invalid data may cause undesirable distorted images to be initially displayed on the digital video display device.
There is a need to minimize power consumption in HDMI sinks while enabling fast switching between input sources containing encrypted data. There is also a need to eliminate invalid data produced by some serial data processing elements when initially powering up the elements.